package com.young4j.seckill.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.young4j.seckill.entity.Seckill;
/**
 * 
  * @ClassName: SeckillDao
  * @Description: TODO
  * @author yangfei
  * @date 2016年7月22日 下午6:41:52
  *
 */
public interface SeckillDao {
	/**
	 * 
	 * @Description (减库存)
	 * @param seckillId
	 * @param killTime
	 * @return 如果影响行>1,表示更新的记录行数
	 */
	int reduceNumber(@Param("seckillId") long seckillId,@Param("killTime") Date killTime);
	/**
	 * 
	 * @Description (TODO这里用一句话描述这个方法的作用)
	 * @param seckillId
	 * @return
	 */
	Seckill queryById(@Param("seckillId") long seckillId);
	/**
	 * 
	 * @Description (根据偏移量查询秒杀商品)
	 * @param offet
	 * @param limit
	 * @return
	 */
	List<Seckill> queryAll(@Param("offset") int offet,@Param("limit") int limit);
	/**
	 * 使用存储过程执行秒杀
	  * killByProcedure
	  * TODO(这里描述这个方法适用条件 – 可选)
	  * @Title: killByProcedure
	  * @param @param paramMap    设定文件
	  * @return void    返回类型
	  * @throws
	 */
	public void killByProcedure(Map<String, Object> paramMap);
}
